import { fetchRequestHandler } from '@trpc/server/adapters/fetch' import type { NextRequest } from 'next/server' import { env } from '~/env' import { appRouter } from '~/server/api/root' import { createTRPCContext } from '~/server/api/trpc' const createContext = async (req: NextRequest) => createTRPCContext({ headers: req.headers }) const handler = (req: NextRequest) => fetchRequestHandler({ endpoint: '/api/trpc', req, router: appRouter, createContext: () => createContext(req), onError: env.NODE_ENV === 'development' ? ({ path, error }) => { console.error(`❌ tRPC failed on ${path ?? ''}: ${error.message}`) } : undefined, }) export { handler as GET, handler as POST }